import { ViewStyle, TextStyle } from 'react-native';

export type TextVariant = 'h1' | 'h2' | 'h3' | 'body' | 'caption';

export interface ThemedButtonProps {
  title: string;
  onPress: () => void;
  style?: ViewStyle;
  textStyle?: TextStyle;
  disabled?: boolean;
  loading?: boolean;
  variant?: 'primary' | 'secondary' | 'outline';
  leftIcon?: React.ReactNode;
  rightIcon?: React.ReactNode;
}

export interface ThemedTextProps {
  variant?: TextVariant;
  style?: TextStyle;
  children: React.ReactNode;
}

export interface SelectItem {
  label: string;
  value: string;
}

export interface ThemedSelectProps {
  value: string;
  onValueChange: (value: string) => void;
  items: SelectItem[];
  placeholder?: string;
  style?: ViewStyle;
} 